﻿package com.zouloux.core.events 
{
	import flash.events.Event;
	
	/**
	 * ...
	 * @author ZoulouX
	 */
	public class DataEvent extends Event 
	{
		/**
		 * Changement de l'ordre des données
		 */
		public static const UPDATE			:String 	= "update";
		
		/**
		 * Chagement des données
		 */
		public static const CHANGE			:String 	= "change";
		
		/**
		 * Les données sont prêtes
		 */
		public static const READY			:String 	= "ready";
		
		/**
		 * Erreur lors de l'interprêtation des données
		 */
		public static const ERROR			:String 	= "error";
		
		/**
		 * Ce model n'est plus valide
		 */
		public static const UNVALIDATE		:String 	= "unvalidate";
		
		/**
		 * Ce model est valide
		 */
		public static const VALIDATE		:String 	= "validate";
		
		/**
		 * Le service de provenance
		 */
		public var serviceName		:String;
		
		/**
		 * Le constructeur
		 * @param	type
		 * @param	bubbles
		 * @param	cancelable
		 */
		public function DataEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false) 
		{ 
			super(type, bubbles, cancelable);	
		} 
		
		// Des trucs pourris
		public override function clone():Event 
		{ 
			return new DataEvent(type, bubbles, cancelable);
		}
		public override function toString():String 
		{ 
			return formatToString("DataEvent", "type", "bubbles", "cancelable", "eventPhase"); 
		}
	}
}